package com.example.chessbattleplatform.web.Sys_User.Service.impl;


import com.example.chessbattleplatform.Pojo.Result.WebResult;
import com.example.chessbattleplatform.web.Sys_User.Pojo.Vo.LoginVo;
import com.example.chessbattleplatform.web.Sys_User.Pojo.Vo.RegisterVo;
import com.example.chessbattleplatform.web.Sys_User.Pojo.Vo.UpdateVo;
import com.example.chessbattleplatform.web.Sys_User.Pojo.dto.LoginEmailRequest;
import com.example.chessbattleplatform.web.Sys_User.Pojo.dto.LoginRequest;
import com.example.chessbattleplatform.web.Sys_User.Pojo.dto.RegisterRequest;

public interface UserServiceInterface {
    // 注册用户
    RegisterVo registerUser(RegisterRequest user);

    // 登录用户
    LoginVo loginUser(LoginRequest user);
    // 登录用户 通过邮箱
    LoginVo loginUserEmail(LoginEmailRequest user);

    // 修改密码
    UpdateVo modifyPassword(Long ID, String oldPassword, String newPassword);

    // 修改邮箱
    UpdateVo modifyEmail(Long ID, String oldEmail, String newEmail);

    // 修改头像
    UpdateVo modifyUserAvatar(Long ID, String newAvatar);

    // 修改用户名
    UpdateVo modifyUserName(Long ID, String oldUserName, String newUserName);

    // 修改简介
    UpdateVo modifyUserIntroduction(Long ID, String introduction);

    // 根据 jwt 查询用户

    LoginVo getUserInfo(Long uid,String ParsePassword);

    // 注销用户
    WebResult<?> deleteUser(Long id);

}
